//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(+0.0 - '');
write(+0.0 - 0xa);
write(+0.0 - 04);
write(+0.0 - 'hello');
write(+0.0 - 'hel' + 'lo');
write(+0.0 - String(''));
write(+0.0 - String('hello'));
write(+0.0 - String('h' + 'ello'));
write(+0.0 - new String(''));
write(+0.0 - new String('hello'));
write(+0.0 - new String('he' + 'llo'));
write(+0.0 - new Object());
write(+0.0 - new Object());
write(+0.0 - [1, 2, 3]);
write(+0.0 - [1 ,2 , 3]);
write(+0.0 - new Array(3));
write(+0.0 - Array(3));
write(+0.0 - new Array(1 ,2 ,3));
write(+0.0 - Array(1));
write(+0.0 - foo);
write(1 - undefined);
write(1 - null);
write(1 - true);
write(1 - false);
write(1 - Boolean(true));
write(1 - Boolean(false));
write(1 - new Boolean(true));
write(1 - new Boolean(false));
write(1 - NaN);
write(1 - +0);
write(1 - -0);
write(1 - 0);
write(1 - 0.0);
write(1 - -0.0);
write(1 - +0.0);
write(1 - 1);
write(1 - 10);
write(1 - 10.0);
write(1 - 10.1);
write(1 - -1);
write(1 - -10);
write(1 - -10.0);
write(1 - -10.1);
write(1 - Number.MAX_VALUE);
write(1 - Number.MIN_VALUE);
write(1 - Number.NaN);
write(1 - Number.POSITIVE_INFINITY);
write(1 - Number.NEGATIVE_INFINITY);
write(1 - new Number(NaN));
write(1 - new Number(+0));
write(1 - new Number(-0));
write(1 - new Number(0));
write(1 - new Number(0.0));
write(1 - new Number(-0.0));
write(1 - new Number(+0.0));
write(1 - new Number(1));
write(1 - new Number(10));
write(1 - new Number(10.0));
write(1 - new Number(10.1));
write(1 - new Number(-1));
write(1 - new Number(-10));
write(1 - new Number(-10.0));
write(1 - new Number(-10.1));
write(1 - new Number(Number.MAX_VALUE));
write(1 - new Number(Number.MIN_VALUE));
write(1 - new Number(Number.NaN));
write(1 - new Number(Number.POSITIVE_INFINITY));
write(1 - new Number(Number.NEGATIVE_INFINITY));
write(1 - '');
write(1 - 0xa);
write(1 - 04);
write(1 - 'hello');
write(1 - 'hel' + 'lo');
write(1 - String(''));
write(1 - String('hello'));
write(1 - String('h' + 'ello'));
write(1 - new String(''));
write(1 - new String('hello'));
write(1 - new String('he' + 'llo'));
write(1 - new Object());
write(1 - new Object());
write(1 - [1, 2, 3]);
write(1 - [1 ,2 , 3]);
write(1 - new Array(3));
write(1 - Array(3));
write(1 - new Array(1 ,2 ,3));
write(1 - Array(1));
write(1 - foo);
write(10 - undefined);
write(10 - null);
write(10 - true);
write(10 - false);
write(10 - Boolean(true));
write(10 - Boolean(false));
write(10 - new Boolean(true));
write(10 - new Boolean(false));
write(10 - NaN);
write(10 - +0);
write(10 - -0);
write(10 - 0);
write(10 - 0.0);
write(10 - -0.0);
write(10 - +0.0);
write(10 - 1);
write(10 - 10);
write(10 - 10.0);
write(10 - 10.1);
write(10 - -1);
write(10 - -10);
write(10 - -10.0);
write(10 - -10.1);
write(10 - Number.MAX_VALUE);
write(10 - Number.MIN_VALUE);
write(10 - Number.NaN);
write(10 - Number.POSITIVE_INFINITY);
write(10 - Number.NEGATIVE_INFINITY);
write(10 - new Number(NaN));
write(10 - new Number(+0));
write(10 - new Number(-0));
write(10 - new Number(0));
write(10 - new Number(0.0));
write(10 - new Number(-0.0));
write(10 - new Number(+0.0));
write(10 - new Number(1));
write(10 - new Number(10));
write(10 - new Number(10.0));
write(10 - new Number(10.1));
write(10 - new Number(-1));
write(10 - new Number(-10));
write(10 - new Number(-10.0));
write(10 - new Number(-10.1));
write(10 - new Number(Number.MAX_VALUE));
write(10 - new Number(Number.MIN_VALUE));
write(10 - new Number(Number.NaN));
write(10 - new Number(Number.POSITIVE_INFINITY));
write(10 - new Number(Number.NEGATIVE_INFINITY));
write(10 - '');
write(10 - 0xa);
write(10 - 04);
write(10 - 'hello');
write(10 - 'hel' + 'lo');
write(10 - String(''));
write(10 - String('hello'));
write(10 - String('h' + 'ello'));
write(10 - new String(''));
write(10 - new String('hello'));
write(10 - new String('he' + 'llo'));
write(10 - new Object());
write(10 - new Object());
write(10 - [1, 2, 3]);
write(10 - [1 ,2 , 3]);
write(10 - new Array(3));
write(10 - Array(3));
write(10 - new Array(1 ,2 ,3));
write(10 - Array(1));
write(10 - foo);
write(10.0 - undefined);
write(10.0 - null);
write(10.0 - true);
write(10.0 - false);
write(10.0 - Boolean(true));
write(10.0 - Boolean(false));
write(10.0 - new Boolean(true));
write(10.0 - new Boolean(false));
write(10.0 - NaN);
write(10.0 - +0);
write(10.0 - -0);
write(10.0 - 0);
write(10.0 - 0.0);
write(10.0 - -0.0);
write(10.0 - +0.0);
write(10.0 - 1);
write(10.0 - 10);
write(10.0 - 10.0);
write(10.0 - 10.1);
write(10.0 - -1);
write(10.0 - -10);
write(10.0 - -10.0);
write(10.0 - -10.1);
write(10.0 - Number.MAX_VALUE);
write(10.0 - Number.MIN_VALUE);
write(10.0 - Number.NaN);
write(10.0 - Number.POSITIVE_INFINITY);
write(10.0 - Number.NEGATIVE_INFINITY);
write(10.0 - new Number(NaN));
write(10.0 - new Number(+0));
write(10.0 - new Number(-0));
write(10.0 - new Number(0));
write(10.0 - new Number(0.0));
write(10.0 - new Number(-0.0));
write(10.0 - new Number(+0.0));
write(10.0 - new Number(1));
write(10.0 - new Number(10));
write(10.0 - new Number(10.0));
write(10.0 - new Number(10.1));
write(10.0 - new Number(-1));
write(10.0 - new Number(-10));
write(10.0 - new Number(-10.0));
write(10.0 - new Number(-10.1));
write(10.0 - new Number(Number.MAX_VALUE));
write(10.0 - new Number(Number.MIN_VALUE));
write(10.0 - new Number(Number.NaN));
write(10.0 - new Number(Number.POSITIVE_INFINITY));
write(10.0 - new Number(Number.NEGATIVE_INFINITY));
write(10.0 - '');
write(10.0 - 0xa);
write(10.0 - 04);
write(10.0 - 'hello');
write(10.0 - 'hel' + 'lo');
write(10.0 - String(''));
write(10.0 - String('hello'));
write(10.0 - String('h' + 'ello'));
write(10.0 - new String(''));
write(10.0 - new String('hello'));
write(10.0 - new String('he' + 'llo'));
write(10.0 - new Object());
write(10.0 - new Object());
write(10.0 - [1, 2, 3]);
write(10.0 - [1 ,2 , 3]);
write(10.0 - new Array(3));
write(10.0 - Array(3));
write(10.0 - new Array(1 ,2 ,3));
write(10.0 - Array(1));
write(10.0 - foo);
write(10.1 - undefined);
write(10.1 - null);
write(10.1 - true);
write(10.1 - false);
write(10.1 - Boolean(true));
write(10.1 - Boolean(false));
write(10.1 - new Boolean(true));
write(10.1 - new Boolean(false));
write(10.1 - NaN);
write(10.1 - +0);
write(10.1 - -0);
write(10.1 - 0);
write(10.1 - 0.0);
write(10.1 - -0.0);
write(10.1 - +0.0);
write(10.1 - 1);
write(10.1 - 10);
write(10.1 - 10.0);
write(10.1 - 10.1);
write(10.1 - -1);
write(10.1 - -10);
write(10.1 - -10.0);
write(10.1 - -10.1);
write(10.1 - Number.MAX_VALUE);
write(10.1 - Number.MIN_VALUE);
write(10.1 - Number.NaN);
write(10.1 - Number.POSITIVE_INFINITY);
write(10.1 - Number.NEGATIVE_INFINITY);
write(10.1 - new Number(NaN));
write(10.1 - new Number(+0));
write(10.1 - new Number(-0));
write(10.1 - new Number(0));
write(10.1 - new Number(0.0));
write(10.1 - new Number(-0.0));
write(10.1 - new Number(+0.0));
write(10.1 - new Number(1));
write(10.1 - new Number(10));
write(10.1 - new Number(10.0));
write(10.1 - new Number(10.1));
write(10.1 - new Number(-1));
write(10.1 - new Number(-10));
write(10.1 - new Number(-10.0));
write(10.1 - new Number(-10.1));
write(10.1 - new Number(Number.MAX_VALUE));
write(10.1 - new Number(Number.MIN_VALUE));
write(10.1 - new Number(Number.NaN));
write(10.1 - new Number(Number.POSITIVE_INFINITY));
write(10.1 - new Number(Number.NEGATIVE_INFINITY));
write(10.1 - '');
write(10.1 - 0xa);
write(10.1 - 04);
write(10.1 - 'hello');
write(10.1 - 'hel' + 'lo');
write(10.1 - String(''));
write(10.1 - String('hello'));
write(10.1 - String('h' + 'ello'));
write(10.1 - new String(''));
write(10.1 - new String('hello'));
write(10.1 - new String('he' + 'llo'));
write(10.1 - new Object());
write(10.1 - new Object());
write(10.1 - [1, 2, 3]);
write(10.1 - [1 ,2 , 3]);
write(10.1 - new Array(3));
write(10.1 - Array(3));
write(10.1 - new Array(1 ,2 ,3));
write(10.1 - Array(1));
write(10.1 - foo);
write(-1 - undefined);
write(-1 - null);
write(-1 - true);
write(-1 - false);
write(-1 - Boolean(true));
write(-1 - Boolean(false));
write(-1 - new Boolean(true));
write(-1 - new Boolean(false));
write(-1 - NaN);
write(-1 - +0);
write(-1 - -0);
write(-1 - 0);
write(-1 - 0.0);
write(-1 - -0.0);
write(-1 - +0.0);
write(-1 - 1);
write(-1 - 10);
write(-1 - 10.0);
write(-1 - 10.1);
write(-1 - -1);
write(-1 - -10);
write(-1 - -10.0);
write(-1 - -10.1);
write(-1 - Number.MAX_VALUE);
write(-1 - Number.MIN_VALUE);
write(-1 - Number.NaN);
write(-1 - Number.POSITIVE_INFINITY);
write(-1 - Number.NEGATIVE_INFINITY);
write(-1 - new Number(NaN));
write(-1 - new Number(+0));
write(-1 - new Number(-0));
write(-1 - new Number(0));
write(-1 - new Number(0.0));
write(-1 - new Number(-0.0));
write(-1 - new Number(+0.0));
write(-1 - new Number(1));
write(-1 - new Number(10));
write(-1 - new Number(10.0));
write(-1 - new Number(10.1));
write(-1 - new Number(-1));
write(-1 - new Number(-10));
write(-1 - new Number(-10.0));
write(-1 - new Number(-10.1));
write(-1 - new Number(Number.MAX_VALUE));
write(-1 - new Number(Number.MIN_VALUE));
write(-1 - new Number(Number.NaN));
write(-1 - new Number(Number.POSITIVE_INFINITY));
write(-1 - new Number(Number.NEGATIVE_INFINITY));
write(-1 - '');
write(-1 - 0xa);
write(-1 - 04);
write(-1 - 'hello');
write(-1 - 'hel' + 'lo');
write(-1 - String(''));
write(-1 - String('hello'));
write(-1 - String('h' + 'ello'));
write(-1 - new String(''));
write(-1 - new String('hello'));
write(-1 - new String('he' + 'llo'));
write(-1 - new Object());
write(-1 - new Object());
write(-1 - [1, 2, 3]);
write(-1 - [1 ,2 , 3]);
write(-1 - new Array(3));
write(-1 - Array(3));
write(-1 - new Array(1 ,2 ,3));
write(-1 - Array(1));
write(-1 - foo);
write(-10 - undefined);
write(-10 - null);
write(-10 - true);
write(-10 - false);
write(-10 - Boolean(true));
write(-10 - Boolean(false));
write(-10 - new Boolean(true));
write(-10 - new Boolean(false));
write(-10 - NaN);
write(-10 - +0);
write(-10 - -0);
write(-10 - 0);
write(-10 - 0.0);
write(-10 - -0.0);
write(-10 - +0.0);
write(-10 - 1);
write(-10 - 10);
write(-10 - 10.0);
write(-10 - 10.1);
write(-10 - -1);
write(-10 - -10);
write(-10 - -10.0);
write(-10 - -10.1);
write(-10 - Number.MAX_VALUE);
write(-10 - Number.MIN_VALUE);
write(-10 - Number.NaN);
write(-10 - Number.POSITIVE_INFINITY);
write(-10 - Number.NEGATIVE_INFINITY);
write(-10 - new Number(NaN));
write(-10 - new Number(+0));
write(-10 - new Number(-0));
write(-10 - new Number(0));
write(-10 - new Number(0.0));
write(-10 - new Number(-0.0));
write(-10 - new Number(+0.0));
write(-10 - new Number(1));
write(-10 - new Number(10));
write(-10 - new Number(10.0));
write(-10 - new Number(10.1));
write(-10 - new Number(-1));
write(-10 - new Number(-10));
write(-10 - new Number(-10.0));
write(-10 - new Number(-10.1));
write(-10 - new Number(Number.MAX_VALUE));
write(-10 - new Number(Number.MIN_VALUE));
write(-10 - new Number(Number.NaN));
write(-10 - new Number(Number.POSITIVE_INFINITY));
write(-10 - new Number(Number.NEGATIVE_INFINITY));
write(-10 - '');
write(-10 - 0xa);
write(-10 - 04);
write(-10 - 'hello');
write(-10 - 'hel' + 'lo');
write(-10 - String(''));
write(-10 - String('hello'));
write(-10 - String('h' + 'ello'));
write(-10 - new String(''));
write(-10 - new String('hello'));
write(-10 - new String('he' + 'llo'));
write(-10 - new Object());
write(-10 - new Object());
write(-10 - [1, 2, 3]);
write(-10 - [1 ,2 , 3]);
write(-10 - new Array(3));
write(-10 - Array(3));
write(-10 - new Array(1 ,2 ,3));
write(-10 - Array(1));
write(-10 - foo);
write(-10.0 - undefined);
write(-10.0 - null);
write(-10.0 - true);
write(-10.0 - false);
write(-10.0 - Boolean(true));
write(-10.0 - Boolean(false));
write(-10.0 - new Boolean(true));
write(-10.0 - new Boolean(false));
write(-10.0 - NaN);
write(-10.0 - +0);
write(-10.0 - -0);
write(-10.0 - 0);
write(-10.0 - 0.0);
write(-10.0 - -0.0);
write(-10.0 - +0.0);
write(-10.0 - 1);
write(-10.0 - 10);
write(-10.0 - 10.0);
write(-10.0 - 10.1);
write(-10.0 - -1);
write(-10.0 - -10);
write(-10.0 - -10.0);
write(-10.0 - -10.1);
write(-10.0 - Number.MAX_VALUE);
write(-10.0 - Number.MIN_VALUE);
write(-10.0 - Number.NaN);
write(-10.0 - Number.POSITIVE_INFINITY);
write(-10.0 - Number.NEGATIVE_INFINITY);
write(-10.0 - new Number(NaN));
write(-10.0 - new Number(+0));
write(-10.0 - new Number(-0));
write(-10.0 - new Number(0));
write(-10.0 - new Number(0.0));
write(-10.0 - new Number(-0.0));
write(-10.0 - new Number(+0.0));
write(-10.0 - new Number(1));
write(-10.0 - new Number(10));
write(-10.0 - new Number(10.0));
write(-10.0 - new Number(10.1));
write(-10.0 - new Number(-1));
write(-10.0 - new Number(-10));
write(-10.0 - new Number(-10.0));
write(-10.0 - new Number(-10.1));
write(-10.0 - new Number(Number.MAX_VALUE));
write(-10.0 - new Number(Number.MIN_VALUE));
write(-10.0 - new Number(Number.NaN));
write(-10.0 - new Number(Number.POSITIVE_INFINITY));
write(-10.0 - new Number(Number.NEGATIVE_INFINITY));
write(-10.0 - '');
write(-10.0 - 0xa);
write(-10.0 - 04);
write(-10.0 - 'hello');
write(-10.0 - 'hel' + 'lo');
write(-10.0 - String(''));
write(-10.0 - String('hello'));
write(-10.0 - String('h' + 'ello'));
write(-10.0 - new String(''));
write(-10.0 - new String('hello'));
write(-10.0 - new String('he' + 'llo'));
write(-10.0 - new Object());
write(-10.0 - new Object());
write(-10.0 - [1, 2, 3]);
write(-10.0 - [1 ,2 , 3]);
write(-10.0 - new Array(3));
write(-10.0 - Array(3));
write(-10.0 - new Array(1 ,2 ,3));
write(-10.0 - Array(1));
write(-10.0 - foo);
write(-10.1 - undefined);
write(-10.1 - null);
write(-10.1 - true);
write(-10.1 - false);
write(-10.1 - Boolean(true));
write(-10.1 - Boolean(false));
write(-10.1 - new Boolean(true));
write(-10.1 - new Boolean(false));
write(-10.1 - NaN);
write(-10.1 - +0);
write(-10.1 - -0);
write(-10.1 - 0);
write(-10.1 - 0.0);
write(-10.1 - -0.0);
write(-10.1 - +0.0);
write(-10.1 - 1);
write(-10.1 - 10);
write(-10.1 - 10.0);
write(-10.1 - 10.1);
write(-10.1 - -1);
write(-10.1 - -10);
write(-10.1 - -10.0);
write(-10.1 - -10.1);
write(-10.1 - Number.MAX_VALUE);
write(-10.1 - Number.MIN_VALUE);
write(-10.1 - Number.NaN);
write(-10.1 - Number.POSITIVE_INFINITY);
write(-10.1 - Number.NEGATIVE_INFINITY);
write(-10.1 - new Number(NaN));
write(-10.1 - new Number(+0));
write(-10.1 - new Number(-0));
write(-10.1 - new Number(0));
write(-10.1 - new Number(0.0));
write(-10.1 - new Number(-0.0));
write(-10.1 - new Number(+0.0));
write(-10.1 - new Number(1));
write(-10.1 - new Number(10));
write(-10.1 - new Number(10.0));
write(-10.1 - new Number(10.1));
write(-10.1 - new Number(-1));
write(-10.1 - new Number(-10));
write(-10.1 - new Number(-10.0));
write(-10.1 - new Number(-10.1));
write(-10.1 - new Number(Number.MAX_VALUE));
write(-10.1 - new Number(Number.MIN_VALUE));
write(-10.1 - new Number(Number.NaN));
write(-10.1 - new Number(Number.POSITIVE_INFINITY));
write(-10.1 - new Number(Number.NEGATIVE_INFINITY));
write(-10.1 - '');
write(-10.1 - 0xa);
write(-10.1 - 04);
write(-10.1 - 'hello');
write(-10.1 - 'hel' + 'lo');
write(-10.1 - String(''));
write(-10.1 - String('hello'));
write(-10.1 - String('h' + 'ello'));
write(-10.1 - new String(''));
write(-10.1 - new String('hello'));
write(-10.1 - new String('he' + 'llo'));
write(-10.1 - new Object());
write(-10.1 - new Object());
write(-10.1 - [1, 2, 3]);
write(-10.1 - [1 ,2 , 3]);
write(-10.1 - new Array(3));
write(-10.1 - Array(3));
write(-10.1 - new Array(1 ,2 ,3));
write(-10.1 - Array(1));
write(-10.1 - foo);
write(Number.MAX_VALUE - undefined);
write(Number.MAX_VALUE - null);
write(Number.MAX_VALUE - true);
write(Number.MAX_VALUE - false);
write(Number.MAX_VALUE - Boolean(true));
write(Number.MAX_VALUE - Boolean(false));
write(Number.MAX_VALUE - new Boolean(true));
write(Number.MAX_VALUE - new Boolean(false));
write(Number.MAX_VALUE - NaN);
write(Number.MAX_VALUE - +0);
write(Number.MAX_VALUE - -0);
write(Number.MAX_VALUE - 0);
write(Number.MAX_VALUE - 0.0);
write(Number.MAX_VALUE - -0.0);
write(Number.MAX_VALUE - +0.0);
write(Number.MAX_VALUE - 1);
write(Number.MAX_VALUE - 10);
write(Number.MAX_VALUE - 10.0);
write(Number.MAX_VALUE - 10.1);
write(Number.MAX_VALUE - -1);
write(Number.MAX_VALUE - -10);
write(Number.MAX_VALUE - -10.0);
write(Number.MAX_VALUE - -10.1);
write(Number.MAX_VALUE - Number.MAX_VALUE);
write(Number.MAX_VALUE - Number.MIN_VALUE);
write(Number.MAX_VALUE - Number.NaN);
write(Number.MAX_VALUE - Number.POSITIVE_INFINITY);
write(Number.MAX_VALUE - Number.NEGATIVE_INFINITY);
write(Number.MAX_VALUE - new Number(NaN));
write(Number.MAX_VALUE - new Number(+0));
write(Number.MAX_VALUE - new Number(-0));
write(Number.MAX_VALUE - new Number(0));
write(Number.MAX_VALUE - new Number(0.0));
write(Number.MAX_VALUE - new Number(-0.0));
write(Number.MAX_VALUE - new Number(+0.0));
write(Number.MAX_VALUE - new Number(1));
write(Number.MAX_VALUE - new Number(10));
write(Number.MAX_VALUE - new Number(10.0));
write(Number.MAX_VALUE - new Number(10.1));
write(Number.MAX_VALUE - new Number(-1));
write(Number.MAX_VALUE - new Number(-10));
write(Number.MAX_VALUE - new Number(-10.0));
write(Number.MAX_VALUE - new Number(-10.1));
write(Number.MAX_VALUE - new Number(Number.MAX_VALUE));
write(Number.MAX_VALUE - new Number(Number.MIN_VALUE));
write(Number.MAX_VALUE - new Number(Number.NaN));
write(Number.MAX_VALUE - new Number(Number.POSITIVE_INFINITY));
write(Number.MAX_VALUE - new Number(Number.NEGATIVE_INFINITY));
write(Number.MAX_VALUE - '');
write(Number.MAX_VALUE - 0xa);
write(Number.MAX_VALUE - 04);
write(Number.MAX_VALUE - 'hello');
write(Number.MAX_VALUE - 'hel' + 'lo');
write(Number.MAX_VALUE - String(''));
write(Number.MAX_VALUE - String('hello'));
write(Number.MAX_VALUE - String('h' + 'ello'));
write(Number.MAX_VALUE - new String(''));
write(Number.MAX_VALUE - new String('hello'));
write(Number.MAX_VALUE - new String('he' + 'llo'));
write(Number.MAX_VALUE - new Object());
write(Number.MAX_VALUE - new Object());
write(Number.MAX_VALUE - [1, 2, 3]);
write(Number.MAX_VALUE - [1 ,2 , 3]);
write(Number.MAX_VALUE - new Array(3));
write(Number.MAX_VALUE - Array(3));
write(Number.MAX_VALUE - new Array(1 ,2 ,3));
write(Number.MAX_VALUE - Array(1));
write(Number.MAX_VALUE - foo);
write(Number.MIN_VALUE - undefined);
write(Number.MIN_VALUE - null);
write(Number.MIN_VALUE - true);
write(Number.MIN_VALUE - false);
write(Number.MIN_VALUE - Boolean(true));
write(Number.MIN_VALUE - Boolean(false));
write(Number.MIN_VALUE - new Boolean(true));
write(Number.MIN_VALUE - new Boolean(false));
write(Number.MIN_VALUE - NaN);
write(Number.MIN_VALUE - +0);
write(Number.MIN_VALUE - -0);
write(Number.MIN_VALUE - 0);
write(Number.MIN_VALUE - 0.0);
write(Number.MIN_VALUE - -0.0);
write(Number.MIN_VALUE - +0.0);
write(Number.MIN_VALUE - 1);
write(Number.MIN_VALUE - 10);
write(Number.MIN_VALUE - 10.0);
write(Number.MIN_VALUE - 10.1);
write(Number.MIN_VALUE - -1);
write(Number.MIN_VALUE - -10);
write(Number.MIN_VALUE - -10.0);
write(Number.MIN_VALUE - -10.1);
write(Number.MIN_VALUE - Number.MAX_VALUE);
write(Number.MIN_VALUE - Number.MIN_VALUE);
write(Number.MIN_VALUE - Number.NaN);
write(Number.MIN_VALUE - Number.POSITIVE_INFINITY);
write(Number.MIN_VALUE - Number.NEGATIVE_INFINITY);
write(Number.MIN_VALUE - new Number(NaN));
write(Number.MIN_VALUE - new Number(+0));
write(Number.MIN_VALUE - new Number(-0));
write(Number.MIN_VALUE - new Number(0));
write(Number.MIN_VALUE - new Number(0.0));
write(Number.MIN_VALUE - new Number(-0.0));
write(Number.MIN_VALUE - new Number(+0.0));
write(Number.MIN_VALUE - new Number(1));
write(Number.MIN_VALUE - new Number(10));
write(Number.MIN_VALUE - new Number(10.0));
write(Number.MIN_VALUE - new Number(10.1));
write(Number.MIN_VALUE - new Number(-1));
write(Number.MIN_VALUE - new Number(-10));
write(Number.MIN_VALUE - new Number(-10.0));
write(Number.MIN_VALUE - new Number(-10.1));
write(Number.MIN_VALUE - new Number(Number.MAX_VALUE));
write(Number.MIN_VALUE - new Number(Number.MIN_VALUE));
write(Number.MIN_VALUE - new Number(Number.NaN));
write(Number.MIN_VALUE - new Number(Number.POSITIVE_INFINITY));
write(Number.MIN_VALUE - new Number(Number.NEGATIVE_INFINITY));
write(Number.MIN_VALUE - '');
write(Number.MIN_VALUE - 0xa);
write(Number.MIN_VALUE - 04);
write(Number.MIN_VALUE - 'hello');
write(Number.MIN_VALUE - 'hel' + 'lo');
write(Number.MIN_VALUE - String(''));
write(Number.MIN_VALUE - String('hello'));
write(Number.MIN_VALUE - String('h' + 'ello'));
write(Number.MIN_VALUE - new String(''));
write(Number.MIN_VALUE - new String('hello'));
write(Number.MIN_VALUE - new String('he' + 'llo'));
write(Number.MIN_VALUE - new Object());
write(Number.MIN_VALUE - new Object());
write(Number.MIN_VALUE - [1, 2, 3]);
write(Number.MIN_VALUE - [1 ,2 , 3]);
write(Number.MIN_VALUE - new Array(3));
write(Number.MIN_VALUE - Array(3));
write(Number.MIN_VALUE - new Array(1 ,2 ,3));
write(Number.MIN_VALUE - Array(1));
write(Number.MIN_VALUE - foo);
write(Number.NaN - undefined);
write(Number.NaN - null);
write(Number.NaN - true);
write(Number.NaN - false);
write(Number.NaN - Boolean(true));
write(Number.NaN - Boolean(false));
write(Number.NaN - new Boolean(true));
write(Number.NaN - new Boolean(false));
write(Number.NaN - NaN);
write(Number.NaN - +0);
write(Number.NaN - -0);
write(Number.NaN - 0);
write(Number.NaN - 0.0);
write(Number.NaN - -0.0);
write(Number.NaN - +0.0);
write(Number.NaN - 1);
write(Number.NaN - 10);
write(Number.NaN - 10.0);
write(Number.NaN - 10.1);
write(Number.NaN - -1);
write(Number.NaN - -10);
write(Number.NaN - -10.0);
write(Number.NaN - -10.1);
write(Number.NaN - Number.MAX_VALUE);
write(Number.NaN - Number.MIN_VALUE);
write(Number.NaN - Number.NaN);
write(Number.NaN - Number.POSITIVE_INFINITY);
write(Number.NaN - Number.NEGATIVE_INFINITY);
write(Number.NaN - new Number(NaN));
write(Number.NaN - new Number(+0));
write(Number.NaN - new Number(-0));
write(Number.NaN - new Number(0));
write(Number.NaN - new Number(0.0));
write(Number.NaN - new Number(-0.0));
write(Number.NaN - new Number(+0.0));
write(Number.NaN - new Number(1));
write(Number.NaN - new Number(10));
write(Number.NaN - new Number(10.0));
write(Number.NaN - new Number(10.1));
write(Number.NaN - new Number(-1));
write(Number.NaN - new Number(-10));
write(Number.NaN - new Number(-10.0));
write(Number.NaN - new Number(-10.1));
write(Number.NaN - new Number(Number.MAX_VALUE));
write(Number.NaN - new Number(Number.MIN_VALUE));
write(Number.NaN - new Number(Number.NaN));
write(Number.NaN - new Number(Number.POSITIVE_INFINITY));
write(Number.NaN - new Number(Number.NEGATIVE_INFINITY));
write(Number.NaN - '');
write(Number.NaN - 0xa);
write(Number.NaN - 04);
write(Number.NaN - 'hello');
write(Number.NaN - 'hel' + 'lo');
write(Number.NaN - String(''));
write(Number.NaN - String('hello'));
write(Number.NaN - String('h' + 'ello'));
write(Number.NaN - new String(''));
write(Number.NaN - new String('hello'));
write(Number.NaN - new String('he' + 'llo'));
write(Number.NaN - new Object());
write(Number.NaN - new Object());
write(Number.NaN - [1, 2, 3]);
write(Number.NaN - [1 ,2 , 3]);
write(Number.NaN - new Array(3));
write(Number.NaN - Array(3));
write(Number.NaN - new Array(1 ,2 ,3));
write(Number.NaN - Array(1));
write(Number.NaN - foo);
write(Number.POSITIVE_INFINITY - undefined);
write(Number.POSITIVE_INFINITY - null);
write(Number.POSITIVE_INFINITY - true);
write(Number.POSITIVE_INFINITY - false);
write(Number.POSITIVE_INFINITY - Boolean(true));
write(Number.POSITIVE_INFINITY - Boolean(false));
write(Number.POSITIVE_INFINITY - new Boolean(true));
write(Number.POSITIVE_INFINITY - new Boolean(false));
write(Number.POSITIVE_INFINITY - NaN);
write(Number.POSITIVE_INFINITY - +0);
write(Number.POSITIVE_INFINITY - -0);
write(Number.POSITIVE_INFINITY - 0);
write(Number.POSITIVE_INFINITY - 0.0);
write(Number.POSITIVE_INFINITY - -0.0);
write(Number.POSITIVE_INFINITY - +0.0);
write(Number.POSITIVE_INFINITY - 1);
write(Number.POSITIVE_INFINITY - 10);
write(Number.POSITIVE_INFINITY - 10.0);
write(Number.POSITIVE_INFINITY - 10.1);
write(Number.POSITIVE_INFINITY - -1);
write(Number.POSITIVE_INFINITY - -10);
write(Number.POSITIVE_INFINITY - -10.0);
write(Number.POSITIVE_INFINITY - -10.1);
write(Number.POSITIVE_INFINITY - Number.MAX_VALUE);
write(Number.POSITIVE_INFINITY - Number.MIN_VALUE);
write(Number.POSITIVE_INFINITY - Number.NaN);
write(Number.POSITIVE_INFINITY - Number.POSITIVE_INFINITY);
write(Number.POSITIVE_INFINITY - Number.NEGATIVE_INFINITY);
write(Number.POSITIVE_INFINITY - new Number(NaN));
write(Number.POSITIVE_INFINITY - new Number(+0));
write(Number.POSITIVE_INFINITY - new Number(-0));
write(Number.POSITIVE_INFINITY - new Number(0));
write(Number.POSITIVE_INFINITY - new Number(0.0));
write(Number.POSITIVE_INFINITY - new Number(-0.0));
write(Number.POSITIVE_INFINITY - new Number(+0.0));
write(Number.POSITIVE_INFINITY - new Number(1));
write(Number.POSITIVE_INFINITY - new Number(10));
write(Number.POSITIVE_INFINITY - new Number(10.0));
write(Number.POSITIVE_INFINITY - new Number(10.1));
write(Number.POSITIVE_INFINITY - new Number(-1));
write(Number.POSITIVE_INFINITY - new Number(-10));
write(Number.POSITIVE_INFINITY - new Number(-10.0));
write(Number.POSITIVE_INFINITY - new Number(-10.1));
write(Number.POSITIVE_INFINITY - new Number(Number.MAX_VALUE));
write(Number.POSITIVE_INFINITY - new Number(Number.MIN_VALUE));
write(Number.POSITIVE_INFINITY - new Number(Number.NaN));
write(Number.POSITIVE_INFINITY - new Number(Number.POSITIVE_INFINITY));
write(Number.POSITIVE_INFINITY - new Number(Number.NEGATIVE_INFINITY));
write(Number.POSITIVE_INFINITY - '');
write(Number.POSITIVE_INFINITY - 0xa);
write(Number.POSITIVE_INFINITY - 04);
write(Number.POSITIVE_INFINITY - 'hello');
write(Number.POSITIVE_INFINITY - 'hel' + 'lo');
write(Number.POSITIVE_INFINITY - String(''));
write(Number.POSITIVE_INFINITY - String('hello'));
write(Number.POSITIVE_INFINITY - String('h' + 'ello'));
write(Number.POSITIVE_INFINITY - new String(''));
write(Number.POSITIVE_INFINITY - new String('hello'));
write(Number.POSITIVE_INFINITY - new String('he' + 'llo'));
write(Number.POSITIVE_INFINITY - new Object());
write(Number.POSITIVE_INFINITY - new Object());
write(Number.POSITIVE_INFINITY - [1, 2, 3]);
write(Number.POSITIVE_INFINITY - [1 ,2 , 3]);
write(Number.POSITIVE_INFINITY - new Array(3));
write(Number.POSITIVE_INFINITY - Array(3));
write(Number.POSITIVE_INFINITY - new Array(1 ,2 ,3));
write(Number.POSITIVE_INFINITY - Array(1));
write(Number.POSITIVE_INFINITY - foo);
write(Number.NEGATIVE_INFINITY - undefined);
write(Number.NEGATIVE_INFINITY - null);
write(Number.NEGATIVE_INFINITY - true);
write(Number.NEGATIVE_INFINITY - false);
write(Number.NEGATIVE_INFINITY - Boolean(true));
write(Number.NEGATIVE_INFINITY - Boolean(false));
write(Number.NEGATIVE_INFINITY - new Boolean(true));
write(Number.NEGATIVE_INFINITY - new Boolean(false));
write(Number.NEGATIVE_INFINITY - NaN);
write(Number.NEGATIVE_INFINITY - +0);
write(Number.NEGATIVE_INFINITY - -0);
write(Number.NEGATIVE_INFINITY - 0);
write(Number.NEGATIVE_INFINITY - 0.0);
write(Number.NEGATIVE_INFINITY - -0.0);
write(Number.NEGATIVE_INFINITY - +0.0);
write(Number.NEGATIVE_INFINITY - 1);
write(Number.NEGATIVE_INFINITY - 10);
write(Number.NEGATIVE_INFINITY - 10.0);
write(Number.NEGATIVE_INFINITY - 10.1);
write(Number.NEGATIVE_INFINITY - -1);
write(Number.NEGATIVE_INFINITY - -10);
write(Number.NEGATIVE_INFINITY - -10.0);
write(Number.NEGATIVE_INFINITY - -10.1);
write(Number.NEGATIVE_INFINITY - Number.MAX_VALUE);
write(Number.NEGATIVE_INFINITY - Number.MIN_VALUE);
write(Number.NEGATIVE_INFINITY - Number.NaN);
write(Number.NEGATIVE_INFINITY - Number.POSITIVE_INFINITY);
write(Number.NEGATIVE_INFINITY - Number.NEGATIVE_INFINITY);
write(Number.NEGATIVE_INFINITY - new Number(NaN));
write(Number.NEGATIVE_INFINITY - new Number(+0));
write(Number.NEGATIVE_INFINITY - new Number(-0));
write(Number.NEGATIVE_INFINITY - new Number(0));
write(Number.NEGATIVE_INFINITY - new Number(0.0));
write(Number.NEGATIVE_INFINITY - new Number(-0.0));
write(Number.NEGATIVE_INFINITY - new Number(+0.0));
write(Number.NEGATIVE_INFINITY - new Number(1));
write(Number.NEGATIVE_INFINITY - new Number(10));
write(Number.NEGATIVE_INFINITY - new Number(10.0));
write(Number.NEGATIVE_INFINITY - new Number(10.1));
write(Number.NEGATIVE_INFINITY - new Number(-1));
write(Number.NEGATIVE_INFINITY - new Number(-10));
write(Number.NEGATIVE_INFINITY - new Number(-10.0));
write(Number.NEGATIVE_INFINITY - new Number(-10.1));
write(Number.NEGATIVE_INFINITY - new Number(Number.MAX_VALUE));
write(Number.NEGATIVE_INFINITY - new Number(Number.MIN_VALUE));
write(Number.NEGATIVE_INFINITY - new Number(Number.NaN));
write(Number.NEGATIVE_INFINITY - new Number(Number.POSITIVE_INFINITY));
write(Number.NEGATIVE_INFINITY - new Number(Number.NEGATIVE_INFINITY));
write(Number.NEGATIVE_INFINITY - '');
write(Number.NEGATIVE_INFINITY - 0xa);
write(Number.NEGATIVE_INFINITY - 04);
write(Number.NEGATIVE_INFINITY - 'hello');
write(Number.NEGATIVE_INFINITY - 'hel' + 'lo');
write(Number.NEGATIVE_INFINITY - String(''));
write(Number.NEGATIVE_INFINITY - String('hello'));
write(Number.NEGATIVE_INFINITY - String('h' + 'ello'));
write(Number.NEGATIVE_INFINITY - new String(''));
write(Number.NEGATIVE_INFINITY - new String('hello'));
write(Number.NEGATIVE_INFINITY - new String('he' + 'llo'));
write(Number.NEGATIVE_INFINITY - new Object());
write(Number.NEGATIVE_INFINITY - new Object());
write(Number.NEGATIVE_INFINITY - [1, 2, 3]);
write(Number.NEGATIVE_INFINITY - [1 ,2 , 3]);
write(Number.NEGATIVE_INFINITY - new Array(3));
write(Number.NEGATIVE_INFINITY - Array(3));
write(Number.NEGATIVE_INFINITY - new Array(1 ,2 ,3));
write(Number.NEGATIVE_INFINITY - Array(1));
write(Number.NEGATIVE_INFINITY - foo);
write(new Number(NaN) - undefined);
write(new Number(NaN) - null);
write(new Number(NaN) - true);
write(new Number(NaN) - false);
write(new Number(NaN) - Boolean(true));
write(new Number(NaN) - Boolean(false));
write(new Number(NaN) - new Boolean(true));
write(new Number(NaN) - new Boolean(false));
write(new Number(NaN) - NaN);
write(new Number(NaN) - +0);
write(new Number(NaN) - -0);
write(new Number(NaN) - 0);
write(new Number(NaN) - 0.0);
write(new Number(NaN) - -0.0);
write(new Number(NaN) - +0.0);
write(new Number(NaN) - 1);
write(new Number(NaN) - 10);
write(new Number(NaN) - 10.0);
write(new Number(NaN) - 10.1);
write(new Number(NaN) - -1);
write(new Number(NaN) - -10);
write(new Number(NaN) - -10.0);
write(new Number(NaN) - -10.1);
write(new Number(NaN) - Number.MAX_VALUE);
write(new Number(NaN) - Number.MIN_VALUE);
write(new Number(NaN) - Number.NaN);
write(new Number(NaN) - Number.POSITIVE_INFINITY);
write(new Number(NaN) - Number.NEGATIVE_INFINITY);
write(new Number(NaN) - new Number(NaN));
write(new Number(NaN) - new Number(+0));
write(new Number(NaN) - new Number(-0));
write(new Number(NaN) - new Number(0));
write(new Number(NaN) - new Number(0.0));
write(new Number(NaN) - new Number(-0.0));
write(new Number(NaN) - new Number(+0.0));
write(new Number(NaN) - new Number(1));
write(new Number(NaN) - new Number(10));
write(new Number(NaN) - new Number(10.0));
write(new Number(NaN) - new Number(10.1));
write(new Number(NaN) - new Number(-1));
write(new Number(NaN) - new Number(-10));
write(new Number(NaN) - new Number(-10.0));
write(new Number(NaN) - new Number(-10.1));
write(new Number(NaN) - new Number(Number.MAX_VALUE));
write(new Number(NaN) - new Number(Number.MIN_VALUE));
write(new Number(NaN) - new Number(Number.NaN));
write(new Number(NaN) - new Number(Number.POSITIVE_INFINITY));
write(new Number(NaN) - new Number(Number.NEGATIVE_INFINITY));
write(new Number(NaN) - '');
write(new Number(NaN) - 0xa);
write(new Number(NaN) - 04);
write(new Number(NaN) - 'hello');
write(new Number(NaN) - 'hel' + 'lo');
write(new Number(NaN) - String(''));
write(new Number(NaN) - String('hello'));
write(new Number(NaN) - String('h' + 'ello'));
write(new Number(NaN) - new String(''));
write(new Number(NaN) - new String('hello'));
write(new Number(NaN) - new String('he' + 'llo'));
write(new Number(NaN) - new Object());
write(new Number(NaN) - new Object());
write(new Number(NaN) - [1, 2, 3]);
write(new Number(NaN) - [1 ,2 , 3]);
write(new Number(NaN) - new Array(3));
write(new Number(NaN) - Array(3));
write(new Number(NaN) - new Array(1 ,2 ,3));
write(new Number(NaN) - Array(1));
write(new Number(NaN) - foo);
write(new Number(+0) - undefined);
write(new Number(+0) - null);
write(new Number(+0) - true);
write(new Number(+0) - false);
write(new Number(+0) - Boolean(true));
write(new Number(+0) - Boolean(false));
write(new Number(+0) - new Boolean(true));
write(new Number(+0) - new Boolean(false));
write(new Number(+0) - NaN);
write(new Number(+0) - +0);
write(new Number(+0) - -0);
write(new Number(+0) - 0);
write(new Number(+0) - 0.0);
write(new Number(+0) - -0.0);
write(new Number(+0) - +0.0);
write(new Number(+0) - 1);
write(new Number(+0) - 10);
write(new Number(+0) - 10.0);
write(new Number(+0) - 10.1);
write(new Number(+0) - -1);
write(new Number(+0) - -10);
write(new Number(+0) - -10.0);
write(new Number(+0) - -10.1);
write(new Number(+0) - Number.MAX_VALUE);
write(new Number(+0) - Number.MIN_VALUE);
write(new Number(+0) - Number.NaN);
write(new Number(+0) - Number.POSITIVE_INFINITY);
write(new Number(+0) - Number.NEGATIVE_INFINITY);
write(new Number(+0) - new Number(NaN));
